{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from datetime import datetime\n",
    "from influxdb import InfluxDBClient\n",
    "import talib as  ta\n",
    "import warnings\n",
    "from matplotlib import pyplot as plt\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute(code, df):\n",
    "    index = 0\n",
    "    short = 11\n",
    "    long = 23\n",
    "    m = 9\n",
    "    if df.index.siza < m:\n",
    "        return\n",
    "        \n",
    "    \n",
    "def compute_momentum(df):\n",
    "    df = self.klines[['time', 'close']]\n",
    "    df.set_index('time', inplace=True)\n",
    "    lagPrice = df['close'].shift(period)\n",
    "    moment = df['close'] - lagPrice\n",
    "    signal = []\n",
    "    for i in moment:\n",
    "        if i > 0:\n",
    "            signal.append(1)\n",
    "        else:\n",
    "            signal.append(-1)\n",
    "    df_signal = pd.Series(signal, index=moment.index)\n",
    "    tradesig = df_signal.shift(1)\n",
    "    ret = df['close']/df['close'].shift(1) - 1\n",
    "\n",
    "        \n",
    "def compute_macd(df):\n",
    "    index = 0\n",
    "    short = 11\n",
    "    long = 23\n",
    "    m = 9\n",
    "\n",
    "    EMA1 = []\n",
    "    EMA2 = []\n",
    "    \n",
    "\n",
    "    for date in df.index:\n",
    "        if index == 0:\n",
    "            EMA1.append(df.loc[date]['close'])\n",
    "            EMA2.append(df.loc[date]['close'])\n",
    "        else:\n",
    "            EMA1.append(\n",
    "                2 / (short + 1) * (df.loc[date]['close'] - EMA1[index - 1]) + EMA1[index - 1])\n",
    "            EMA2.append(\n",
    "                2 / (long + 1) * (df.loc[date]['close'] - EMA2[index - 1]) + EMA2[index - 1])\n",
    "        index = index + 1\n",
    "\n",
    "    df['EMA1'] = EMA1\n",
    "    df['EMA2'] = EMA2\n",
    "\n",
    "    # DIFF： 短时EMA - 长时 EMA\n",
    "    df['DIFF'] = df['EMA1'] - df['EMA2']\n",
    "\n",
    "    # DEA： DIFF的EMA  EMA(DUFF, M)\n",
    "    index = 0\n",
    "    DEA = []\n",
    "    for date in df.index:\n",
    "        if index == 0:\n",
    "            DEA.append(df.loc[date]['DIFF'])\n",
    "        else:\n",
    "            # M = 9 DEA = EMA(DIFF, 9)\n",
    "            DEA.append(\n",
    "                2/(m + 1) * (df.loc[date]['DIFF'] - DEA[index - 1]) + DEA[index - 1])\n",
    "        index += 1\n",
    "\n",
    "    df['DEA'] = DEA\n",
    "    # 计算DIFF和DEA的差值\n",
    "    df['delta'] = df['DIFF'] - df['DEA']\n",
    "    # 将delta移动一位， 那么前一天的delta就变成了今天的pre——delta\n",
    "    df['pre_delta'] = df['delta'].shift(1)\n",
    "   \n",
    "    return df\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "current_time = datetime.now()\n",
    "\n",
    "dbname = \"KlineIndex\"\n",
    "sqlday = \"select close, high, low from KlineDay where symbol='HSI' and  time > '{}-01-01 00:00:00'\".format(\n",
    "        current_time.year)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "client = InfluxDBClient('192.168.3.108',8086)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-01-04</td>\n",
       "      <td>27472.81</td>\n",
       "      <td>27502.83</td>\n",
       "      <td>27079.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-01-05</td>\n",
       "      <td>27649.86</td>\n",
       "      <td>27690.21</td>\n",
       "      <td>27150.38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-01-06</td>\n",
       "      <td>27692.30</td>\n",
       "      <td>27756.43</td>\n",
       "      <td>27389.78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-01-07</td>\n",
       "      <td>27548.52</td>\n",
       "      <td>27752.36</td>\n",
       "      <td>27457.47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-01-08</td>\n",
       "      <td>27878.22</td>\n",
       "      <td>27920.77</td>\n",
       "      <td>27538.20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         time     close      high       low\n",
       "0  2021-01-04  27472.81  27502.83  27079.24\n",
       "1  2021-01-05  27649.86  27690.21  27150.38\n",
       "2  2021-01-06  27692.30  27756.43  27389.78\n",
       "3  2021-01-07  27548.52  27752.36  27457.47\n",
       "4  2021-01-08  27878.22  27920.77  27538.20"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rsday = client.query(sqlday, database=dbname)\n",
    "df_day = pd.DataFrame(rsday.get_points())\n",
    "df_day['time'] = pd.to_datetime(df_day['time'])\n",
    "df_day['time'] = df_day['time'].apply(lambda x: x.strftime('%Y-%m-%d'))\n",
    "# df_day['time'] = df_day['time'].apply(lambda x: x.strptime('%y-%M-%d'))\n",
    "df_day.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>close</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-01-04</td>\n",
       "      <td>27472.81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-01-05</td>\n",
       "      <td>27649.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-01-06</td>\n",
       "      <td>27692.30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-01-07</td>\n",
       "      <td>27548.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-01-08</td>\n",
       "      <td>27878.22</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date     close\n",
       "0  2021-01-04  27472.81\n",
       "1  2021-01-05  27649.86\n",
       "2  2021-01-06  27692.30\n",
       "3  2021-01-07  27548.52\n",
       "4  2021-01-08  27878.22"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "# df_day.set_index(['time'], 1,inplace =True) # , format='%y-%M-%d'\n",
    "df_day.rename(columns={'time': 'date'}, inplace = True)\n",
    "df_day.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "df_macd = compute_macd(df_day)\n",
    "df_macd.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "  # 金叉： DIFF 上穿DEA， 前一日的DIFF在DEA下面， 当日DIFF在DEA上面\n",
    "#df = df_macd\n",
    "df_gold = df[(df['pre_delta'] <= 0) &  (df['delta'] > 0)]\n",
    "   # 死叉\n",
    "df_dead = df[(df['pre_delta'] >= 0) & (df['delta'] < 0)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2021-01-05 gold\n",
      "2021-02-10 gold\n",
      "2021-04-01 gold\n",
      "2021-05-20 gold\n",
      "2021-06-25 gold\n",
      "2021-08-05 gold\n",
      "2021-08-25 gold\n",
      "2021-01-28 dead\n",
      "2021-02-25 dead\n",
      "2021-05-03 dead\n",
      "2021-06-08 dead\n",
      "2021-07-02 dead\n",
      "2021-08-19 dead\n"
     ]
    }
   ],
   "source": [
    "\n",
    "for date in df_gold.index:\n",
    "    print( date, 'gold')\n",
    "\n",
    " \n",
    "for date in df_dead.index:\n",
    "    print(date, 'dead')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "RSI\n",
    "超买 > 80:  下穿\n",
    "超卖 < 20： 上穿\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_rsi(df):\n",
    "    df['pre_close'] = df['close'].shift(1)\n",
    "    df['change_pct'] = (df['close'] - df['pre_close']) * 100 / df['pre_close']\n",
    "    df['up_pct'] = pd.DataFrame({'up_pct': df['change_pct'], 'zero':0}).max(1)\n",
    "    \n",
    "    # 计算RSI\n",
    "    df['RSI'] = df['up_pct'].rolling(N).mean() / abs(df['change_pct']).rolling(N).mean() * 100\n",
    "    \n",
    "    df['prev_rsi'] = df['RSI'].shift(1)\n",
    "    \n",
    "    # 超买 RSI下穿 80， 作为卖出信号\n",
    "    df_over_bought = df[(df['RSI'] < 80) & (df['prev_rsi'] >= 80)]\n",
    "    \n",
    "    # 超卖 RSI下上穿 20 ， 作为卖出信号\n",
    "    df_over_sold = df[(df['rsi'] > 20) & df['prev_rsi'] <= 20]\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_boll(df):\n",
    "    k = 2\n",
    "    df['MB'] = df['close'].rolling(20).mean()\n",
    "    df['std'] = df['close'].rolling(20).std()\n",
    "    df['UP'] = df ['MB'] + k * df['std']\n",
    "    df['DOWN'] = df['MB'] - k * df['std']\n",
    "    \n",
    "    # df.set_index(['date'], inplace=True)\n",
    "    \n",
    "    last_close = df['close'].shift(1)\n",
    "    shifted_up = df[\"UP\"].shift(1)\n",
    "    df['up_mark'] = (last_close <= shifted_up) & (df['close'] > shifted_up)\n",
    "    \n",
    "    shifted_down = df['DOWN'].shift(1)\n",
    "    df['down_mark'] = (last_close >= shifted_down) & (df['close'] < shifted_down)\n",
    "    return df\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_fenxing(df):\n",
    "    df_shift_1 = df.shift(1)\n",
    "    df_shift_2 = df.shift(2)\n",
    "    df_shift_3 = df.shift(3)\n",
    "    df_shift_4 = df.shift(4)\n",
    "    # 顶分型  中间日的最高价 即大于前两天的最高价， 也大于后两天的最高价\n",
    "    df['up'] = (df_shift_2['high'] > df['high']) & \\\n",
    "                (df_shift_2['high'] > df_shift_1['high']) & \\\n",
    "                (df_shift_2['high'] > df_shift_3['high']) & \\\n",
    "                (df_shift_2['high'] > df_shift_4['high'])\n",
    "        \n",
    "    \n",
    "    # 底分型： 中间日的最低价， 即小于前两天的最低价， 也小于后两天的最低价\n",
    "    df['down'] = (df_shift_2['low'] < df['low']) & \\\n",
    "                 (df_shift_2['low'] < df_shift_1['low']) & \\\n",
    "                 (df_shift_2['low'] < df_shift_3['low']) & \\\n",
    "                 (df_shift_2['low'] < df_shift_4['low'])\n",
    "\n",
    "    df = df[(df['up'] | df['down'])]\n",
    "    return df\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_boll = df_day.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = compute_boll(df_boll)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>close</th>\n",
       "      <th>MB</th>\n",
       "      <th>std</th>\n",
       "      <th>UP</th>\n",
       "      <th>DOWN</th>\n",
       "      <th>up_mark</th>\n",
       "      <th>down_mark</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-01-04</td>\n",
       "      <td>27472.81</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-01-05</td>\n",
       "      <td>27649.86</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-01-06</td>\n",
       "      <td>27692.30</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-01-07</td>\n",
       "      <td>27548.52</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-01-08</td>\n",
       "      <td>27878.22</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date     close  MB  std  UP  DOWN  up_mark  down_mark\n",
       "0  2021-01-04  27472.81 NaN  NaN NaN   NaN    False      False\n",
       "1  2021-01-05  27649.86 NaN  NaN NaN   NaN    False      False\n",
       "2  2021-01-06  27692.30 NaN  NaN NaN   NaN    False      False\n",
       "3  2021-01-07  27548.52 NaN  NaN NaN   NaN    False      False\n",
       "4  2021-01-08  27878.22 NaN  NaN NaN   NaN    False      False"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_up = df[df['up_mark']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>close</th>\n",
       "      <th>MB</th>\n",
       "      <th>std</th>\n",
       "      <th>UP</th>\n",
       "      <th>DOWN</th>\n",
       "      <th>up_mark</th>\n",
       "      <th>down_mark</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>2021-02-18</td>\n",
       "      <td>30595.27</td>\n",
       "      <td>29449.4350</td>\n",
       "      <td>575.548083</td>\n",
       "      <td>30600.531167</td>\n",
       "      <td>28298.338833</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>2021-04-29</td>\n",
       "      <td>29303.26</td>\n",
       "      <td>28842.8665</td>\n",
       "      <td>253.193062</td>\n",
       "      <td>29349.252624</td>\n",
       "      <td>28336.480376</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>2021-06-01</td>\n",
       "      <td>29468.00</td>\n",
       "      <td>28592.6575</td>\n",
       "      <td>451.627633</td>\n",
       "      <td>29495.912765</td>\n",
       "      <td>27689.402235</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          date     close          MB         std            UP          DOWN  \\\n",
       "29  2021-02-18  30595.27  29449.4350  575.548083  30600.531167  28298.338833   \n",
       "76  2021-04-29  29303.26  28842.8665  253.193062  29349.252624  28336.480376   \n",
       "98  2021-06-01  29468.00  28592.6575  451.627633  29495.912765  27689.402235   \n",
       "\n",
       "    up_mark  down_mark  \n",
       "29     True      False  \n",
       "76     True      False  \n",
       "98     True      False  "
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_up"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_plot = df.drop(['std', 'up_mark', 'down_mark'], 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ca06ee7760>"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_plot.set_index('date', inplace=True)\n",
    "df_plot.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'compute_fenxing' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-9-7c23d3e0bace>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdf_fenxing\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcompute_fenxing\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf_day\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      2\u001b[0m \u001b[0mdf_fenxing\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mNameError\u001b[0m: name 'compute_fenxing' is not defined"
     ]
    }
   ],
   "source": [
    "df_fenxing = compute_fenxing(df_day)\n",
    "df_fenxing.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-01-04</td>\n",
       "      <td>27472.81</td>\n",
       "      <td>27502.83</td>\n",
       "      <td>27079.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-01-05</td>\n",
       "      <td>27649.86</td>\n",
       "      <td>27690.21</td>\n",
       "      <td>27150.38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-01-06</td>\n",
       "      <td>27692.30</td>\n",
       "      <td>27756.43</td>\n",
       "      <td>27389.78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-01-07</td>\n",
       "      <td>27548.52</td>\n",
       "      <td>27752.36</td>\n",
       "      <td>27457.47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-01-08</td>\n",
       "      <td>27878.22</td>\n",
       "      <td>27920.77</td>\n",
       "      <td>27538.20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         time     close      high       low\n",
       "0  2021-01-04  27472.81  27502.83  27079.24\n",
       "1  2021-01-05  27649.86  27690.21  27150.38\n",
       "2  2021-01-06  27692.30  27756.43  27389.78\n",
       "3  2021-01-07  27548.52  27752.36  27457.47\n",
       "4  2021-01-08  27878.22  27920.77  27538.20"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_day.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_momentum(price, period):\n",
    "    lagPrice = price.shift(period)\n",
    "    moment = price - lagPrice\n",
    "    moment = moment.dropna()\n",
    "    return moment\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def candleLinePlots(candleData, candleTitle='a', **kwargs):\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "35    1507.40\n",
       "36    1802.71\n",
       "37    1403.56\n",
       "38    2331.90\n",
       "39    1358.57\n",
       "Name: close, dtype: float64"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "close = df_day['close']\n",
    "moment35 = compute_momentum(close, 35)\n",
    "moment35.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "signal = []\n",
    "for i in moment35:\n",
    "    if i > 0:\n",
    "        signal.append(1)\n",
    "    else:\n",
    "        signal.append(-1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "35    1\n",
       "36    1\n",
       "37    1\n",
       "38    1\n",
       "39    1\n",
       "dtype: int64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_signal = pd.Series(signal, index=moment35.index)\n",
    "df_signal.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "tradesig = df_signal.shift(1)\n",
    "ret = close/close.shift(1) - 1\n",
    "mom35ret = (ret * tradesig).dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "win = mom35ret[mom35ret > 0]\n",
    "loss = - mom35ret[mom35ret < 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "36     0.016299\n",
       "37    -0.012111\n",
       "38     0.026965\n",
       "39    -0.021540\n",
       "40    -0.004737\n",
       "         ...   \n",
       "173    0.014595\n",
       "174   -0.010253\n",
       "175    0.032969\n",
       "176   -0.005079\n",
       "177   -0.011950\n",
       "Length: 142, dtype: float64"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mom35ret"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4788732394366197"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "winrate = len(win) / len(mom35ret != 0)\n",
    "winrate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-0.13, 0.1)"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(211)\n",
    "plt.plot(ret[-len(mom35ret):], 'b')\n",
    "plt.ylabel('label')\n",
    "plt.ylim(-0.13, 0.1)\n",
    "plt.subplot(212)\n",
    "plt.plot(mom35ret,'r')\n",
    "plt.ylabel('moment 35')\n",
    "plt.ylim(-0.13, 0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1d6fcf81a60>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(211)\n",
    "win.hist()\n",
    "plt.subplot(212)\n",
    "loss.hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>win</th>\n",
       "      <th>loss</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>68.000000</td>\n",
       "      <td>74.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>0.010417</td>\n",
       "      <td>0.009416</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.009542</td>\n",
       "      <td>0.006647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000130</td>\n",
       "      <td>0.000066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.002450</td>\n",
       "      <td>0.004706</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.008264</td>\n",
       "      <td>0.007619</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>0.014687</td>\n",
       "      <td>0.012664</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>0.042222</td>\n",
       "      <td>0.033031</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             win       loss\n",
       "count  68.000000  74.000000\n",
       "mean    0.010417   0.009416\n",
       "std     0.009542   0.006647\n",
       "min     0.000130   0.000066\n",
       "25%     0.002450   0.004706\n",
       "50%     0.008264   0.007619\n",
       "75%     0.014687   0.012664\n",
       "max     0.042222   0.033031"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "performance = pd.DataFrame({'win': win.describe(), \\\n",
    "                           'loss':loss.describe()})\n",
    "performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
